package com.tedu.day02.oop;

/**
 * this关键字---super关键字---使用完全一致
 * 不需要继承---当前类，指代当前
 * 使用方式：调用当前类的属性、方法、构造器
 *       this.属性       【当前类属性赋值】
 *                       出现在方法当中
 *                       区别当前类的属性与参数"名称"一致
 *      this.方法
 *      this()           多个有参构造器
 *
 *
 *      鄙视题：this跟super关键字区别？
 *      this  调用本类的属性、方法、构造器
 *      super  调用父类的属性、方法、构造器，存在继承关系，使用super
 *      this()与super()--传递参数：赋值
 *      this()调用本类的其他构造器---构造器首行
 *      super()调用父类的其他构造器--子类构造器首行
 *      请问
 */
public class This关键字 {
    int i; //属性---很少赋值【声明为赋值】---构造器或者方法中赋值
    int j; //属性---很少赋值【声明未赋值】---构造器或者方法中赋值


    //构造器：有参       需求：创造1个参数对象，给i和j 赋值【跟】
    public This关键字(int i) {
        this.i = i;    //常见：this.属性【当前类下属性】=参数
                       //赋值：this.i=1;
    }
    //方法---this.方法
    public void testI(){
        System.out.println("我是I");
    }
public void testJ(){  //调取----输出：我是I   我是J
       this.testI();
       System.out.println("我是J");
}
    public static void main(String[]args){
       System.out.println(new This关键字(1).i);//属性没有输出语句
      //  new This关键字(1).testJ();//方法有输出语句
    }
}
